<!DOCTYPE html>
<html lang="zh-CN">
    <head>
  <!-- 元数据 -->
  <meta charset="utf-8">
  <link rel="icon" href="">
  <title>计算机组成原理笔记（第四章）（上） | ALgarth's blog</title>
  <meta name="author" content="ALgarth" />
  <meta http-equiv="Cache-Control" content="no-transform" />
  <meta http-equiv="Cache-Control" content="no-siteapp" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  <meta name="robots" content="index,follow" />
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
  <meta name="format-detection" content="telphone=no, email=no" />
  
    <meta name="keywords" content="计算机组成原理" />
  
  <meta name="description" content="老规矩，上开头！！  突然意识到该写一份计算机组成原理的笔记 那就写呗 为的是方便我个人的复习以及对读者进行启发 目录根据《计算机组成原理（第二版）》唐朔飞奶奶的的那本书来的 内容涵盖并结合书中内容，练习题，“林北不能忍了”学长的笔记，刘宏伟老师MOOC  计算机组成原理（第四章）（上）本节分为以下部分  1.分类和层次结构 2.主存 3.缓存 4.辅存  本章节内容非常多，是超长章节的开端，这一">
<meta property="og:type" content="article">
<meta property="og:title" content="计算机组成原理笔记（第四章）（上）">
<meta property="og:url" content="http://algarth.github.io/2020/10/27/organization3/index.html">
<meta property="og:site_name" content="ALgarth&#39;s blog">
<meta property="og:description" content="老规矩，上开头！！  突然意识到该写一份计算机组成原理的笔记 那就写呗 为的是方便我个人的复习以及对读者进行启发 目录根据《计算机组成原理（第二版）》唐朔飞奶奶的的那本书来的 内容涵盖并结合书中内容，练习题，“林北不能忍了”学长的笔记，刘宏伟老师MOOC  计算机组成原理（第四章）（上）本节分为以下部分  1.分类和层次结构 2.主存 3.缓存 4.辅存  本章节内容非常多，是超长章节的开端，这一">
<meta property="og:locale" content="zh_CN">
<meta property="og:image" content="http://algarth.github.io/null">
<meta property="article:published_time" content="2020-10-27T08:52:27.000Z">
<meta property="article:modified_time" content="2020-12-29T01:36:00.476Z">
<meta property="article:author" content="ALgarth">
<meta property="article:tag" content="计算机组成原理">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="http://algarth.github.io/null">
<meta name="twitter:site" content="@null">
  
  <!-- 站点验证相关 -->
  
    
    
    
  
  <!-- 样式表文件 -->
  <link rel="stylesheet" id="kratos-css" href="/css/kratosr.min.css" type="text/css" media="all">
  <link rel="stylesheet" id="highlight-css" href="/css/highlight.min.css" type="text/css" media="all">
  <link rel="stylesheet" id="fontawe-css" href="https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css" type="text/css" media="all">
  <link rel="stylesheet" id="nprogress-css" href="https://cdn.jsdelivr.net/npm/nprogress@0.2.0/nprogress.min.css" type="text/css" media="all">
  
  
  
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.css">
  
  
    <link rel="stylesheet" id="darkmode-css" href="/css/kr-dark.min.css" type="text/css" media="all">
  
  <!-- 不得不预先加载的一些JS文件 -->
  <script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.min.js"></script>
  
    <script src="https://cdn.jsdelivr.net/npm/qrcode_js@1.0.0/qrcode.min.js"></script>
  
  
<meta name="generator" content="Hexo 5.2.0"><link rel="alternate" href="/atom.xml" title="ALgarth's blog" type="application/atom+xml">
</head>


    <body class="custom-background">
        <div id="kratos-wrapper">
    <div id="kratos-page">
        <div id="kratos-header">
            <div class="nav-toggle"><a class="kratos-nav-toggle js-kratos-nav-toggle"><i></i></a></div>
            <header id="kratos-header-section">
                <div class="container">
                    <div class="nav-header">
                        <div class="color-logo"><a href="/">ALgarth&#39;s blog</a></div>
                        <nav id="kratos-menu-wrap">
                            <ul id="kratos-primary-menu" class="sf-menu">
                                
                                    
                                        <li><a href="/"><i class="fa fa-home"></i>首页</a></li>
                                    
                                
                                    
                                        <li><a href="/archives/"><i class="fa fa-file"></i>档案馆</a></li>
                                    
                                
                                    
                                        <li>
                                            <a><i class="fa fa-link"></i>链接</a>
                                            <ul class="sub-menu">
                                                
                                                    
                                                
                                                    
                                                        <li><a target="_blank" rel="noopener" href="https://blog.csdn.net/algarth">作者博客</a></li>
                                                    
                                                
                                                    
                                                        <li><a target="_blank" rel="noopener" href="https://github.com/ALgarth">项目链接</a></li>
                                                    
                                                
                                            </ul>
                                        </li>
                                    
                                
                            </ul>
                        </nav>
                    </div>
                </div>
            </header>
        </div>
        <div class="kratos-start kratos-hero-2">
            <!-- <div class="kratos-overlay"></div> -->
            <div class="kratos-cover kratos-cover-2 text-center">
                <div class="desc desc2 animate-box">
                    <a href="/">
                        <h2>ALgarth&#39;s blog</h2> <br />
                        <span>欢迎捞到摸鱼仙人的博客呢_(:3」∠)_</span>
                    </a>
                </div>
            </div>
        </div>

        <div id="kratos-blog-post">
            <div class="container">
                <div class="row">
                    
        <div id="main">
            <section class="col-md-8">
    <article>
        <div class="kratos-hentry kratos-post-inner clearfix">
            <header class="kratos-entry-header">
                <h1 class="kratos-entry-title text-center">计算机组成原理笔记（第四章）（上）</h1>
                
                <div class="kratos-post-meta text-center">
                    <span>
                        <i class="fa fa-calendar"></i> 2020-10-27
                        <i class="fa fa-folder"></i> 分类于 
                        <i class="fa fa-user"></i> 作者 ALgarth
                        <i class="fa fa-edit"></i> 
                        
                        
                            ~4.52K
                        
                        字
                        
                    </span>
                </div>
            </header>
            <div class="kratos-post-content">
                
                    <div class="kratos-post-inner-toc">
                        <ol class="toc"><li class="toc-item toc-level-1"><a class="toc-link" href="#%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BB%84%E6%88%90%E5%8E%9F%E7%90%86%EF%BC%88%E7%AC%AC%E5%9B%9B%E7%AB%A0%EF%BC%89%EF%BC%88%E4%B8%8A%EF%BC%89"><span class="toc-number">1.</span> <span class="toc-text">计算机组成原理（第四章）（上）</span></a><ol class="toc-child"><li class="toc-item toc-level-2"><a class="toc-link" href="#%E5%88%86%E7%B1%BB%E5%92%8C%E5%B1%82%E6%AC%A1%E7%BB%93%E6%9E%84"><span class="toc-number">1.1.</span> <span class="toc-text">分类和层次结构</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%88%86%E7%B1%BB"><span class="toc-number">1.1.1.</span> <span class="toc-text">分类</span></a><ol class="toc-child"><li class="toc-item toc-level-4"><a class="toc-link" href="#%E6%8C%89%E7%85%A7%E5%AD%98%E5%82%A8%E4%BB%8B%E8%B4%A8%E5%88%86%E7%B1%BB"><span class="toc-number">1.1.1.1.</span> <span class="toc-text">按照存储介质分类</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E6%8C%89%E7%85%A7%E5%AD%98%E5%8F%96%E6%96%B9%E5%BC%8F%E5%88%86%E7%B1%BB"><span class="toc-number">1.1.1.2.</span> <span class="toc-text">按照存取方式分类</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E6%8C%89%E7%85%A7%E8%AE%A1%E7%AE%97%E6%9C%BA%E4%B8%AD%E7%9A%84%E4%BD%9C%E7%94%A8%E5%88%86%E7%B1%BB"><span class="toc-number">1.1.1.3.</span> <span class="toc-text">按照计算机中的作用分类</span></a></li></ol></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%B1%82%E6%AC%A1%E7%BB%93%E6%9E%84"><span class="toc-number">1.1.2.</span> <span class="toc-text">层次结构</span></a></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E4%B8%BB%E5%AD%98"><span class="toc-number">1.2.</span> <span class="toc-text">主存</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#RAM"><span class="toc-number">1.2.1.</span> <span class="toc-text">RAM</span></a><ol class="toc-child"><li class="toc-item toc-level-4"><a class="toc-link" href="#%E9%9D%99%E6%80%81RAM"><span class="toc-number">1.2.1.1.</span> <span class="toc-text">静态RAM</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E5%8A%A8%E6%80%81RAM"><span class="toc-number">1.2.1.2.</span> <span class="toc-text">动态RAM</span></a><ol class="toc-child"><li class="toc-item toc-level-5"><a class="toc-link" href="#%E5%8A%A8%E6%80%81RAM%E7%9A%84%E7%94%B5%E8%B7%AF%E5%92%8C%E6%97%B6%E5%BA%8F"><span class="toc-number">1.2.1.2.1.</span> <span class="toc-text">动态RAM的电路和时序</span></a></li><li class="toc-item toc-level-5"><a class="toc-link" href="#%E5%88%B7%E6%96%B0"><span class="toc-number">1.2.1.2.2.</span> <span class="toc-text">刷新</span></a></li></ol></li><li class="toc-item toc-level-4"><a class="toc-link" href="#DRAM%E5%92%8CSRAM%E7%9A%84%E6%AF%94%E8%BE%83"><span class="toc-number">1.2.1.3.</span> <span class="toc-text">DRAM和SRAM的比较</span></a></li></ol></li><li class="toc-item toc-level-3"><a class="toc-link" href="#ROM"><span class="toc-number">1.2.2.</span> <span class="toc-text">ROM</span></a></li></ol></li></ol></li></ol>
                    </div>
                
                <hr />
                <p>老规矩，上开头！！</p>
<blockquote>
<p>突然意识到该写一份计算机组成原理的笔记</p>
<p>那就写呗</p>
<p>为的是方便我个人的复习以及对读者进行启发</p>
<p>目录根据《计算机组成原理（第二版）》唐朔飞奶奶的的那本书来的</p>
<p>内容涵盖并结合书中内容，练习题，“林北不能忍了”学长的笔记，刘宏伟老师MOOC</p>
</blockquote>
<h1 id="计算机组成原理（第四章）（上）"><a href="#计算机组成原理（第四章）（上）" class="headerlink" title="计算机组成原理（第四章）（上）"></a>计算机组成原理（第四章）（上）</h1><p>本节分为以下部分</p>
<blockquote>
<p>1.分类和层次结构</p>
<p>2.主存</p>
<p>3.缓存</p>
<p>4.辅存</p>
</blockquote>
<p>本章节内容非常多，是超长章节的开端，这一章节的内容是前面三个章节的内容之和，从这之后将会以章节部分笔记的形式发布博客</p>
<p>这一部分先写一下上半部分，概述和主存的笔记</p>
<h2 id="分类和层次结构"><a href="#分类和层次结构" class="headerlink" title="分类和层次结构"></a>分类和层次结构</h2><p>这一部分其实就是概述，内容就上面这俩</p>
<h3 id="分类"><a href="#分类" class="headerlink" title="分类"></a>分类</h3><p>分类可以按照外部，内部，作用三个分类方向进行理解</p>
<blockquote>
<p>按照存储介质分类（外部，可见的分类标准）</p>
<p>按照存取方式分类（内部，具体分工的分类）</p>
<p>按照计算机中的作用分类（具体作用的分类）</p>
</blockquote>
<h4 id="按照存储介质分类"><a href="#按照存储介质分类" class="headerlink" title="按照存储介质分类"></a>按照存储介质分类</h4><blockquote>
<p>半导体存储器（易失）：优点是体积小，功耗低，存取时间短，缺点是断电就丢失信息，按照材质不同还可以进行分类：</p>
<p>———&gt;双极型TTL（晶体管）：高速型号</p>
<p>———&gt;MOS（氧化物）：高集成型号（制造简单，成本低廉，目前广泛使用）</p>
<p>磁表面存储器（非易失）：比如磁盘，磁带，而且不易丢失（要有磁头和磁载体）</p>
<p>磁芯存储器（非易失）：用硬磁元件制作的环状元件，永久保存，目前被半导体存储器取代</p>
<p>光盘存储器（非易失）：优点很多，包括光盘密度高，耐用性好，可靠性高，可互换性强</p>
</blockquote>
<h4 id="按照存取方式分类"><a href="#按照存取方式分类" class="headerlink" title="按照存取方式分类"></a>按照存取方式分类</h4><p>按照存取方式分类具体而言其实是分为以下三类，不要被老唐的书上奇怪的顺序迷惑嗷</p>
<blockquote>
<p>随机存储（串行存取）存储器：指的是数据支持随机访问，即数据的访问是连续的，访问每个数据的时间是相同的。（可以类比数据结构的线性表进行下标访问）</p>
<p>顺序存取存储器：数据存储时顺序的，访问每个元素的时间不一样，必须从开头一个一个去找（类比链表），举例：磁带</p>
<p>直接存取存储器：<del>缝合怪</del>，存储的时候指定多个存储区域，每个存储区域是彼此离散的，里面的数据是连续的，也就是前段串行访问，后段顺序访问（链表结构体包含数组呗），举例：磁盘</p>
</blockquote>
<p>随机存储的存储器中，比较重要的两个是下一种存储方式中主存包含的元素，RAM和ROM</p>
<blockquote>
<p>RAM（random access memory）：计算机系统中主存使用的存储结构，根据存储原理，分为静态RAM和动态RAM。（内容后续展开描述）</p>
<p>ROM（read only memory）：只能读出，不能写入的结构，一般储存字典类文件，这种文件一般不需要进行更改。</p>
</blockquote>
<p>ROM随着时间的发展，还有以下的类型</p>
<blockquote>
<p>MROM：掩模型，使用掩模工艺制作的ROM芯片</p>
<p>PROM：可编程的ROM，因为人们对于编程设计ROM芯片的需求产生的</p>
<p>EPROM：可擦除的可编程ROM，可以在写错之后更改ROM内部的信息，但是是物理更改，不够智能</p>
<p>EEPROM：电可擦除的可编程ROM，一个完备的融合产物</p>
</blockquote>
<h4 id="按照计算机中的作用分类"><a href="#按照计算机中的作用分类" class="headerlink" title="按照计算机中的作用分类"></a>按照计算机中的作用分类</h4><p><img src="/2020/10/27/organization3/%E5%AD%98%E5%82%A8%E5%99%A8%E5%88%86%E7%B1%BB.jpg" alt="存储器分类"></p>
<p>嗯，如图所示，就这些东西，后面再展开讲嗷</p>
<h3 id="层次结构"><a href="#层次结构" class="headerlink" title="层次结构"></a>层次结构</h3><p>存储器的层次结构如下图：</p>
<p><img src="/2020/10/27/organization3/%E5%B1%82%E6%AC%A1%E7%BB%93%E6%9E%84.jpg" alt="层次结构"></p>
<p>这是两个层次：缓存-主存层次和主存-辅存层次</p>
<p>常识来说，我们关心存储器的存储容量，存储速度和价格。但是这三者肯定不会一次满足。<del>（对，成年人的世界往往就是这样真实）</del>，速度快存储量大肯定贵这都是真理，所以为了权衡容量问题以及速度问题，有了两个层次</p>
<p><strong>主存-辅存层次</strong>：为了缓解容量问题，主存快，辅存慢但是容量大，两者折中，就有了容量大速度还可以的缝合层次</p>
<p><strong>缓存-主存层次</strong>：主存一般和CPU传递信息，可是CPU发展速度太快了，逐渐速度和主存脱节太多了，总不能让CPU去想办法设计如何平衡这段等待主存的时间，所以缓存这一个稍微便宜一点又有点速度的部件就用来解决两者的速度问题（这部分逐渐发展，形成了虚拟存储系统）</p>
<h2 id="主存"><a href="#主存" class="headerlink" title="主存"></a>主存</h2><p>先提一点概述的内容，后面再讲重头的RAM和ROM</p>
<p>寻址这种事，其实类似于C++的指针，不同的类型的指针，比如int*的指针，在确定的时候，有两个重要的参数，指向的地址和步长，步长就是每次执行指针++运算的时候，该指针会向前移动的距离，通常被叫做步长。寻址其实也是一样，可以通过以下两种步长在同一块存储空间中运作</p>
<blockquote>
<p>按字寻址：按照byte为一个基本单位进行寻址，步长就是8个字节，无论是多少位的计算机，按字寻址只关注字节的8位长度</p>
<p>按字节寻址：按照位数进行寻址，32位机步长就是32位，16位就是16位，寻找的时候步子跨的会比较大</p>
</blockquote>
<p>下面再提一提技术指标</p>
<blockquote>
<ol>
<li><p>存储容量：（这个其实在第一章就提到过），存储容量目前有两种表示形式，一种是以位为单位的，一种是以byte为单位的。对于前者而言，就用存储单元的数目*存储字长就可以得到了。后者的计算在前者基础上除以8就行。</p>
</li>
<li><p>存储速度：存储速度并不是比值定义的一个速度单位，而是一个以存储时间和存储周期为衡量标准的时间概念。计算机的每两次相同操作之间的时间间隔，称之为存储周期，这个周期中，有一部分是存取时间，用来读入或者写出（成为写入时间和读出时间）。另一部分其实是空的，因为总会有其他的时间富裕，比如后面提到的动态RAM刷新。因此这个存储区周期长度&gt;存取时间</p>
</li>
<li><p>存储器带宽：这个才是比值定义得出来的计算式，单位字/s或Byte/s，怎么计算就不说了吧，一般计算的时候采用一个存储周期的时间作为分母。为了提高带宽，可以采取以下策略，（后面还会提及）：缩短存储周期的时间（减少分母），增加存储字长使每个周期可以存储更多的位数（增加分子），增加存储体（物理模式增加分子）</p>
</li>
</ol>
</blockquote>
<p>下面还要介绍两个概述内容：扩展和译码驱动方式</p>
<p>扩展方式如下图，我们举例说明从16k * 1扩展到64k * 8</p>
<p><img src="/2020/10/27/organization3/64x8%E4%BD%8D.jpg" alt="64x8位"></p>
<p>这张图可以这样理解，链接的时候，先扩展数据线，数据线扩展到8位，那就8个并联，这就把原先16k * 1扩展成了16k * 8 。之后扩展数据线，数据线要从14根增加到16根，变为可以选择4种空间，也就把刚才的内容复制到4份</p>
<p>计算片数的时候当然更加简单，只要进行正常的相除就可以</p>
<p>64 * 8/ (16 * 1) = 条数</p>
<p>下面写完最后的驱动方式：</p>
<p><img src="/2020/10/27/organization3/%E7%BA%BF%E9%80%89%E6%B3%95%EF%BC%8C%E9%87%8D%E5%90%88%E6%B3%95.jpg" alt="线选法，重合法"></p>
<p>驱动方式分为两种：线选法和重合法。很明显重合法通过行列相交的方式实现更好，节省线材</p>
<h3 id="RAM"><a href="#RAM" class="headerlink" title="RAM"></a>RAM</h3><h4 id="静态RAM"><a href="#静态RAM" class="headerlink" title="静态RAM"></a>静态RAM</h4><p>静态RAM的基本单元电路就略了。静态RAM采取的触发器的原理制成的。</p>
<p>直接从这个图开始吧</p>
<p><img src="/2020/10/27/organization3/%E9%9D%99%E6%80%81RAM.jpg" alt="静态RAM"></p>
<p>这张图上解释了基本的几个部件，CS是片选信号，低电平的时候代表该位置被选中。WE是允许信号，低电平为写，反之为读。GND接地，VCC电源</p>
<p>而且根据之前的重合法来讲，静态RAM就是采用的上述重合法编辑出来的</p>
<p>下面我们介绍一下时序控制</p>
<p><img src="/2020/10/27/organization3/%E8%AF%BB%E5%91%A8%E6%9C%9F.jpg" alt="读周期"></p>
<p><img src="/2020/10/27/organization3/%E5%86%99%E5%91%A8%E6%9C%9F.jpg" alt="写周期"></p>
<p>上述的两张图是读写周期，读周期相对简单，这里单介绍一下读周期，写周期的内容其实可以自己推出来了</p>
<p>读周期开始的时候给出要读取的地址，之后CS片选信号选择对应的地址位置，Dout生效给出数据，输出完毕之后，地址失效，之后会有一段时间依旧给出数据，这段时间是为了保证数据可靠。</p>
<p>写周期懂的都懂</p>
<h4 id="动态RAM"><a href="#动态RAM" class="headerlink" title="动态RAM"></a>动态RAM</h4><p>动态RAM相对于静态RAM来说变化还是很多的，这里我就以变化为主线串联这部分内容</p>
<p>动态RAM最大的变化就是他的存储方式不同，静态RAM采用的是触发器原理，动态RAM采用的是电容器放电的原理。</p>
<p>首先，电容器放点存储信息的原理和特点</p>
<blockquote>
<p>电容器放电：电容器如果有电，表示逻辑1，没电表示逻辑0。电容器的充放电需要额外采用物理结构，而且电容器会随着时间自动放电，所以需要有一个不断充电的过程</p>
</blockquote>
<h5 id="动态RAM的电路和时序"><a href="#动态RAM的电路和时序" class="headerlink" title="动态RAM的电路和时序"></a>动态RAM的电路和时序</h5><p>动态RAM的电路使用以下的三管MOS和单管MOS</p>
<p><img src="/2020/10/27/organization3/%E4%B8%89%E7%AE%A1.jpg" alt="三管"></p>
<p><img src="/2020/10/27/organization3/%E5%8D%95%E7%AE%A1.jpg" alt="单管"></p>
<p>每种结构都会有一个预充电元件和一个刷新元件（单管MOS没画）</p>
<p>在进行芯片选择的时候，还是和静态RAM一样选择重合法或者线选法</p>
<p>在时序上，只需要注意这几点：动态RAM有RAS和CAS选择器用于选择列信号和行信号，动态RAM在传送的时候不是像静态那样同时传送行列地址选择信息，而是一个一个传输，所以时序上来看，先传入行选择，在传入列选择</p>
<h5 id="刷新"><a href="#刷新" class="headerlink" title="刷新"></a>刷新</h5><p>这才是动态RAM的重头戏</p>
<p>动态RAM进行不断充电维持信息的过程称之为刷新，我们以一个例题的题干作为引子</p>
<blockquote>
<p>用16K×8位的DRAM芯片构成64K×32位存储器，设存储器读/写周期为0.5μs，CPU在1μs内至少要访问一次。试问采用哪种刷新方式比较合理？</p>
</blockquote>
<p>先看这个芯片的数据，地址线是16k的，也就是pow(2,14)，14线，选择的时候是pow(2,7)*pow(2,7)，那也就是说选择的时候是128 * 128。这种选择时课本上的例子，课本给出这种芯片刷新周期是2ms，也就是在2ms必须全部刷新一次。</p>
<p>下面给出三种刷新方式</p>
<blockquote>
<p>集中刷新：集中的进行刷新，一个周期中，前面的时间进行正常的使用和操作，最后一期进行刷新，刷新的周期是和读写周期相同的，且只用刷新行选择就可以刷新完所有的单元。也就是0.5*128=64μs，这部分时间呗称为死时间，啥活儿都干不了。而且cpu访问时间不允许，不成</p>
<p>分散刷新：集中不是刷新不好不方便吗，那我暴力一点，直接在每次正常操作结束之后就刷新一整行，这样读写周期直接一个加倍，变成1μs处理一个操作刷新一行内容。但是题干是CPU至少访问一次，还是不行，死时间还是太多。（而且有没有发现，一个刷新周期内，甚至有的部件刷新了多余一次）</p>
<p>异步刷新：为了使得分散刷新能够不进行重复工作，我们把刷新次数先算好，之后平均插入到执行命令的内容之间，这种方式目前是最好的，而且这个题选择这种格式也比较合理</p>
</blockquote>
<h4 id="DRAM和SRAM的比较"><a href="#DRAM和SRAM的比较" class="headerlink" title="DRAM和SRAM的比较"></a>DRAM和SRAM的比较</h4><p>动态RAM使用电容器，功率高，速度比静态的慢，但是容量大，便宜，经常用做主存</p>
<p>静态RAM使用触发器，功耗低，速度比动态的块，但是容量小，挺贵，经常用作cache</p>
<h3 id="ROM"><a href="#ROM" class="headerlink" title="ROM"></a>ROM</h3><p>ROM这里主要是从历史角度出发的，</p>
<p>最早的时候只有掩模ROM，这种ROM的制作工艺就是在需要输出1的位置加一个MOS管，没有MOS就是0。当时的ROM还比较傻</p>
<p>PROM：一次性编程，这种采用的保险丝的方式，保险丝在通过大电流的时候会熔断，断了表示0，否则是1。熔断之后无法复原</p>
<p>EPROM：这种加入了一种浮动栅，有浮动栅为0，否则为1。这种浮动栅可以用紫外线的方法照射去除，但是不能定向去除，而且照射时间比较长</p>
<p>EEPROM：还是那个浮动栅，我们发现可以使用电气方法擦除，而且可以定向。后来根据这种方法制成了闪存</p>
<p>（这里说点题外话，闪存使用的擦除的办法，电擦除一定会磨损芯片，芯片的寿命取决于擦写次数，不要贪便宜买这样的二手盘，目前工艺已经很好了，有的芯片会用算法动态规划，擦写的时候优先擦写新一点的部分使得整体磨损度尽可能相同，现在有的盘可以擦写10w次，基本正常人用要擦写几十年，够用了。而且不要买小厂商的盘，因为没有这样算法的盘容易在多擦几次的时候擦坏）</p>
<p>行，这次内容先到这儿，后面还有汉明码计算这种阴间东西，字写的太多人怪不愿看的。</p>
<hr>
<p><em>我是ALgarth，如果有缘，我们下次再见。</em></p>
<p><em>图片来自网络，侵删。</em></p>
<p><em>本人拙笔草见，如果内容有误，请及时联系修改</em></p>

            </div>
            
                <div class="kratos-copyright text-center clearfix">
                    <h5>本作品采用 <a rel="license nofollow" target="_blank" href="http://creativecommons.org/licenses/by-sa/4.0/">知识共享署名-相同方式共享 4.0 国际许可协议</a> 进行许可</h5>
                </div>
            
            <footer class="kratos-entry-footer clearfix">
                
                    <div class="post-like-donate text-center clearfix" id="post-like-donate">
                    
                        <a class="donate" href="javascript:;"><i class="fa fa-bitcoin"></i> 打赏</a>
                    
                    
                        <a class="share" href="javascript:;"><i class="fa fa-share-alt"></i> 分享</a>
                        <div class="share-wrap" style="display: none;">
    <div class="share-group">
        <a href="javascript:;" class="share-plain qq" onclick="share('qq');" rel="nofollow">
            <div class="icon-wrap">
                <i class="fa fa-qq"></i>
            </div>
        </a>
        <a href="javascript:;" class="share-plain qzone" onclick="share('qzone');" rel="nofollow">
            <div class="icon-wrap">
                <i class="fa fa-star"></i>
            </div>
        </a>
        <a href="javascript:;" class="share-plain weixin pop style-plain" rel="nofollow">
            <div class="icon-wrap">
                <i class="fa fa-weixin"></i>
            </div>
            <div class="share-int">
                <div class="qrcode" id="wechat-qr"></div>
                <p>打开微信“扫一扫”，打开网页后点击屏幕右上角分享按钮</p>
            </div>
        </a>
        <a href="javascript:;" class="share-plain weibo" onclick="share('weibo');" rel="nofollow">
            <div class="icon-wrap">
                <i class="fa fa-weibo"></i>
            </div>
        </a>
        <a href="javascript:;" class="share-plain facebook style-plain" onclick="share('facebook');" rel="nofollow">
            <div class="icon-wrap">
                <i class="fa fa-facebook"></i>
            </div>
        </a>
        <a href="javascript:;" class="share-plain twitter style-plain" onclick="share('twitter');" rel="nofollow">
            <div class="icon-wrap">
                <i class="fa fa-twitter"></i>
            </div>
        </a>
    </div>
    <script type="text/javascript">
        $(()=>{
            new QRCode("wechat-qr", {
                text: "http://algarth.github.io/2020/10/27/organization3/",
                width: 150,
                height: 150,
                correctLevel : QRCode.CorrectLevel.H
            });
        });
        function share(dest) {
            const qqBase        = "https://connect.qq.com/widget/shareqq/index.html?";
            const weiboBase     = "https://service.weibo.com/share/share.php?";
            const qzoneBase     = "https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?";
            const facebookBase  = "https://www.facebook.com/sharer/sharer.php?";
            const twitterBase   = "https://twitter.com/intent/tweet?";
            const hostUrl       = "http://algarth.github.io/2020/10/27/organization3/";
            const title         = "「计算机组成原理笔记（第四章）（上）」";
            const excerpt       = `老规矩，上开头！！

突然意识到该写一份计算机组成原理的笔记
那就写呗
为的是方便我个人的复习以及对读者进行启发
目录根据《计算机组成原理（第二版）》唐朔飞奶奶的的那本书来的
内容涵盖并结合书中内容，练习题，“林北不能忍了”学长的笔记...`;
            let _URL;
            switch (dest) {
                case "qq"       : _URL = qqBase+"url="+hostUrl+"&title="+title+"&desc=&summary="+excerpt+"&site=cxpy";     break;
                case "weibo"    : _URL = weiboBase+"url="+hostUrl+"&title="+title+excerpt;                                 break;
                case "qzone"    : _URL = qzoneBase+"url="+hostUrl+"&title="+title+"&desc=&summary="+excerpt+"&site=cxpy";  break;
                case "facebook" : _URL = facebookBase+"u="+hostUrl;                                                        break;
                case "twitter"  : _URL = twitterBase+"text="+title+excerpt+"&url="+hostUrl;                                break;
            }
            window.open(_URL);
        };
    </script>
</div>
                    
                    </div>
                
                <div class="footer-tag clearfix">
                    <div class="pull-left">
                    <i class="fa fa-tags"></i>
                        <a class="tag-none-link" href="/tags/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BB%84%E6%88%90%E5%8E%9F%E7%90%86/" rel="tag">计算机组成原理</a>
                    </div>
                    <div class="pull-date">
                    <span>最后编辑：2020-12-29</span>
                    </div>
                </div>
            </footer>
        </div>
        
            <nav class="navigation post-navigation clearfix" role="navigation">
                
                <div class="nav-previous clearfix">
                    <a title=" (no title)" href="/2020/10/27/update-20-10-27/">&lt; 上一篇</a>
                </div>
                
                
                <div class="nav-next clearfix">
                    <a title=" 计算机组成原理笔记（第四章）（中）" href="/2020/11/02/organization4/">下一篇 &gt;</a>
                </div>
                
            </nav>
        
        
    </article>
</section>
        </div>
                
            <section id="kratos-widget-area" class="col-md-4 hidden-xs hidden-sm">
                
                    <aside id="krw-about" class="widget widget-kratos-about clearfix">
    
    <div class="photo-background"></div>
    <div class="photo-wrapper clearfix">
        <div class="photo-wrapper-tip text-center">
            <img class="about-photo" src="/images/avatar.webp" />
        </div>
    </div>
    <div class="textwidget">
        
            <ol class="toc"><li class="toc-item toc-level-1"><a class="toc-link" href="#%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BB%84%E6%88%90%E5%8E%9F%E7%90%86%EF%BC%88%E7%AC%AC%E5%9B%9B%E7%AB%A0%EF%BC%89%EF%BC%88%E4%B8%8A%EF%BC%89"><span class="toc-number">1.</span> <span class="toc-text">计算机组成原理（第四章）（上）</span></a><ol class="toc-child"><li class="toc-item toc-level-2"><a class="toc-link" href="#%E5%88%86%E7%B1%BB%E5%92%8C%E5%B1%82%E6%AC%A1%E7%BB%93%E6%9E%84"><span class="toc-number">1.1.</span> <span class="toc-text">分类和层次结构</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%88%86%E7%B1%BB"><span class="toc-number">1.1.1.</span> <span class="toc-text">分类</span></a><ol class="toc-child"><li class="toc-item toc-level-4"><a class="toc-link" href="#%E6%8C%89%E7%85%A7%E5%AD%98%E5%82%A8%E4%BB%8B%E8%B4%A8%E5%88%86%E7%B1%BB"><span class="toc-number">1.1.1.1.</span> <span class="toc-text">按照存储介质分类</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E6%8C%89%E7%85%A7%E5%AD%98%E5%8F%96%E6%96%B9%E5%BC%8F%E5%88%86%E7%B1%BB"><span class="toc-number">1.1.1.2.</span> <span class="toc-text">按照存取方式分类</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E6%8C%89%E7%85%A7%E8%AE%A1%E7%AE%97%E6%9C%BA%E4%B8%AD%E7%9A%84%E4%BD%9C%E7%94%A8%E5%88%86%E7%B1%BB"><span class="toc-number">1.1.1.3.</span> <span class="toc-text">按照计算机中的作用分类</span></a></li></ol></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%B1%82%E6%AC%A1%E7%BB%93%E6%9E%84"><span class="toc-number">1.1.2.</span> <span class="toc-text">层次结构</span></a></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E4%B8%BB%E5%AD%98"><span class="toc-number">1.2.</span> <span class="toc-text">主存</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#RAM"><span class="toc-number">1.2.1.</span> <span class="toc-text">RAM</span></a><ol class="toc-child"><li class="toc-item toc-level-4"><a class="toc-link" href="#%E9%9D%99%E6%80%81RAM"><span class="toc-number">1.2.1.1.</span> <span class="toc-text">静态RAM</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E5%8A%A8%E6%80%81RAM"><span class="toc-number">1.2.1.2.</span> <span class="toc-text">动态RAM</span></a><ol class="toc-child"><li class="toc-item toc-level-5"><a class="toc-link" href="#%E5%8A%A8%E6%80%81RAM%E7%9A%84%E7%94%B5%E8%B7%AF%E5%92%8C%E6%97%B6%E5%BA%8F"><span class="toc-number">1.2.1.2.1.</span> <span class="toc-text">动态RAM的电路和时序</span></a></li><li class="toc-item toc-level-5"><a class="toc-link" href="#%E5%88%B7%E6%96%B0"><span class="toc-number">1.2.1.2.2.</span> <span class="toc-text">刷新</span></a></li></ol></li><li class="toc-item toc-level-4"><a class="toc-link" href="#DRAM%E5%92%8CSRAM%E7%9A%84%E6%AF%94%E8%BE%83"><span class="toc-number">1.2.1.3.</span> <span class="toc-text">DRAM和SRAM的比较</span></a></li></ol></li><li class="toc-item toc-level-3"><a class="toc-link" href="#ROM"><span class="toc-number">1.2.2.</span> <span class="toc-text">ROM</span></a></li></ol></li></ol></li></ol>
        
    </div>
</aside>
                
                    <!-- Moved to about.ejs -->
                
                    

                
                    
  <aside id="krw-tags" class="widget widget-kratos-tags clearfix">
    <h4 class="widget-title"><i class="fa fa-tags"></i>标签聚合</h4>
      <div class="tag-clouds">
        <a href="/tags/OS/" style="font-size: 0.6em;">OS</a> <a href="/tags/c-%E4%BB%8E%E5%85%A5%E9%97%A8%E5%88%B0%E4%B8%8D%E5%85%A5%E9%97%A8/" style="font-size: 0.7em;">c++从入门到不入门</a> <a href="/tags/priority-queue/" style="font-size: 0.6em;">priority_queue</a> <a href="/tags/projectpool/" style="font-size: 0.6em;">projectpool</a> <a href="/tags/tmp/" style="font-size: 0.6em;">tmp</a> <a href="/tags/trailer/" style="font-size: 0.7em;">trailer</a> <a href="/tags/update/" style="font-size: 0.6em;">update</a> <a href="/tags/%E5%89%8D%E8%A8%80/" style="font-size: 0.6em;">前言</a> <a href="/tags/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BB%84%E6%88%90%E5%8E%9F%E7%90%86/" style="font-size: 0.8em;">计算机组成原理</a> <a href="/tags/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BB%84%E6%88%90%E5%8E%9F%E7%90%86%E6%B1%87%E6%80%BB/" style="font-size: 0.6em;">计算机组成原理汇总</a> <a href="/tags/%E8%AE%A1%E7%BD%91/" style="font-size: 0.6em;">计网</a>
      </div>
  </aside>

                
                    
  <aside id="krw-posts" class="widget widget-kratos-poststab">
  <h4 class="widget-title"><i class="fa fa-file"></i>最新文章</h4>
  <div class="tab-content">
      <ul class="list-group">
        
        
          
          
            <a class="list-group-item" href="/2021/12/23/tmp/"><i class="fa  fa-book"></i> 小范围开源期末材料</a>
            
          
        
          
          
            <a class="list-group-item" href="/2021/10/30/OS/"><i class="fa  fa-book"></i> OS第一章</a>
            
          
        
          
          
            <a class="list-group-item" href="/2021/10/23/cnet/"><i class="fa  fa-book"></i> 计网第一章</a>
            
          
        
          
          
        
          
          
            <a class="list-group-item" href="/2021/10/19/projectpool/"><i class="fa  fa-book"></i> 计划进程池设定</a>
            
          
        
          
          
        
          
          
            <a class="list-group-item" href="/2020/12/31/organization-ex/"><i class="fa  fa-book"></i> 计算机组成原理汇总篇</a>
            
          
        
          
            
          
            
          
            
          
            
          
            
          
            
          
            
          
            
          
            
          
            
          
            
          
            
          
            
          
            
          
            
          
            
      </ul>
  </div>
  </aside>

                
            </section>
        
        </div>
    </div>
</div>
<footer>
    <div id="footer">
        <div class="kr-tool text-center">
            <div class="tool">
                
                    <div class="box search-box">
                        <a href="/search/">
                            <span class="fa fa-search"></span>
                        </a>
                    </div>
                
                
                    <div class="box theme-box" id="darkmode-switch">
                        <span class="fa fa-adjust"></span>
                    </div>
                
                
            </div>
            <div class="box gotop-box">
                <span class="fa fa-chevron-up"></span>
            </div>
        </div>
        <div class="container">
            <div class="row">
                <div class="col-md-6 col-md-offset-3 footer-list text-center">
                    <ul class="kratos-social-icons">
                        
                        <li><a href="mailto:algarth@163.com"><i class="fa fa-envelope"></i></a></li>
                        
                        
                        
                        
                        
                        <li><a target="_blank" rel="nofollow" href="https://github.com/ALgarth"><i class="fa fa-github"></i></a></li>
                        
                    </ul>
                    <ul class="kratos-copyright">
                        <div>
                            <li>&copy; 2022 ALgarth 版权所有.</li>
                            <li>本站已运行<span id="span_dt">Loading...</span></li>
                        </div>
                        <div>
                            <li>Theme <a href="https://github.com/Candinya/Kratos-Rebirth" target="_blank">Kratos:Rebirth</a></li>
                            <li>Made with&nbsp;<i class="fa fa-heart throb" style="color:#d43f57"></i>&nbsp;by <a href="https://candinya.com" target="_blank" rel="nofollow">Candinya</a>.</li>
                        </div>
                        <div>
                            <li>Powered by <a href="https://hexo.io" target="_blank" rel="nofollow">Hexo</a></li>
                            <li>Hosted on <a href="https://github.io" target="_blank">Github Pages</a></li>
                        </div>
                        <div>
                            
                            
                        </div>
                    </ul>
                </div>
            </div>
        </div>
    </div>
</footer>
</div>
</div>

        <script defer src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.4/dist/js/bootstrap.min.js"></script>
<script defer src="https://cdn.jsdelivr.net/npm/nprogress@0.2.0/nprogress.js"></script>
<script>const notMobile = (!(navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i)));</script>

    <div>
        <canvas id="snow"></canvas>
        <script async type="text/javascript" src="/js/snow.min.js"></script>
    </div>

<script async src="/js/candy.min.js"></script>


    <script defer src="https://cdn.jsdelivr.net/gh/fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.js"></script>

<script defer src="https://cdn.jsdelivr.net/npm/clipboard@2.0.6/dist/clipboard.min.js"></script>
<script defer src="/js/kratosr.min.js"></script>
<script defer src="/js/pjax.min.js"></script>

    <script defer src="https://cdn.jsdelivr.net/npm/layui-src@2.5.5/dist/layui.all.js"></script>


    <script defer src="/js/kr-dark.min.js"></script>


    </body>
</html>